package ipad.asia.service.websocket;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.io.IOException;

@Component
@FeignClient(value = "PROVIDER-CHAT")
public interface WebsocketFeign {
    /**
     * 前端模板请看chat.ftl,根据里面的js请求设计一个符合人性化的界面
     * 这个聊天界面我会找网上的，自己上一个项目写过，太简陋
     * 聊天会根据UserId去查找发送方，所有登录需要将UserId存进session
     * 这里只是一个即时聊天，不在线接收不到消息，尚不能存数据库
     */

    /**
     * 跳转到聊天页面
     */
    @RequestMapping("websocket/chat")
    void chat();

    /**
     * 发送消息给别人
     * @param message
     * @param toUserId
     * @return
     * @throws IOException
     */
    @RequestMapping("/push/{toUserId}")
     ResponseEntity<String> pushToWeb(String message, @PathVariable String toUserId) throws IOException;
}
